/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package camada.apresentacao.dialog.cat52;

//import camada.bancodedados.daoimplemente.cat52.RegistrosEDAOImpl;
//import eloma.classe.cat52.RunnableImportacaoCat52;
//import eloma.classe.cat52.registro.RegistroE01;
//import java.io.File;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//import java.util.logging.Level;
//import javax.swing.JFileChooser;
//import javax.swing.JOptionPane;
//import javax.swing.JTextArea;
//import javax.swing.ListSelectionModel;
//import org.jdesktop.swingx.error.ErrorInfo;
//import tabelamodelcolumnmodel.cat52.Cat52ColumnModel;
//import tabelamodelcolumnmodel.cat52.Cat52TableModel;
//import utilitarios.erros.MessagemErro;

/**
 *
 * @author GEMADA
 */
public class InternalFrameImportacaoCat52 extends javax.swing.JInternalFrame {
//
//    RegistrosEDAOImpl daoCat52 = new RegistrosEDAOImpl();
//    //List<String> listaDuplicados = new ArrayList<String>();
//    Map<String, String> listaDuplicados = new HashMap<String, String>();
//
//    /**
//     * Creates new form InternalFrameImportacaoCat52
//     */
//    public InternalFrameImportacaoCat52() {
//        initComponents();
//        carregarTabela();
//        progressBarAtividade1.setMaximum(100);
//
//        try {
//          // txtSeletor.setText(daoCat52.selecionarCaminho());
//        } catch (Exception e) {
//            MessagemErro erro = new MessagemErro(new ErrorInfo("Erro no Sistema", "Não é Possível Continuar, Sistema Inativo", null, "Fatal", e, Level.WARNING, null), 1);
//        }
//    }
//
//    /**
//     * This method is called from within the constructor to initialize the form.
//     * WARNING: Do NOT modify this code. The content of this method is always
//     * regenerated by the Form Editor.
//     */
//    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jXFindPanel1 = new org.jdesktop.swingx.JXFindPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        txtSeletor = new javax.swing.JTextField();
        btSelecionarPasta = new org.jdesktop.swingx.JXHyperlink();
        jScrollPane2 = new javax.swing.JScrollPane();
        tabelaCat52 = new javax.swing.JTable();
        jXTaskPaneContainer1 = new org.jdesktop.swingx.JXTaskPaneContainer();
        jXTaskPane1 = new org.jdesktop.swingx.JXTaskPane();
        jXHyperlink1 = new org.jdesktop.swingx.JXHyperlink();
        btReprocessoDuplicados = new org.jdesktop.swingx.JXHyperlink();
        fileChooser1 = new javax.swing.JFileChooser();
        progressBarAtividade1 = new javax.swing.JProgressBar();
        lbImportacao = new javax.swing.JLabel();
        progressBarAtividade2 = new javax.swing.JProgressBar();
        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel2 = new javax.swing.JPanel();
        jScrollPane3 = new javax.swing.JScrollPane();
        txtAreaErros = new javax.swing.JTextArea();
        jPanel3 = new javax.swing.JPanel();
        jScrollPane4 = new javax.swing.JScrollPane();
        txtAreaDuplicados = new javax.swing.JTextArea();

        setBorder(null);
        setClosable(true);
        setFrameIcon(null);

        jScrollPane1.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        jPanel1.setAutoscrolls(true);

        jLabel1.setText("Diretório arquivos Cat52:");

        btSelecionarPasta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ima/outros/Seletor_Arquivos.png"))); // NOI18N
        btSelecionarPasta.setText("");
        btSelecionarPasta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btSelecionarPastaActionPerformed(evt);
            }
        });

        tabelaCat52.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {},
                {},
                {},
                {}
            },
            new String [] {

            }
        ));
        jScrollPane2.setViewportView(tabelaCat52);

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel1)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(txtSeletor, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btSelecionarPasta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 723, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(377, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtSeletor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btSelecionarPasta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 312, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(101, Short.MAX_VALUE))
        );

        jScrollPane1.setViewportView(jPanel1);

        jXTaskPaneContainer1.setBackground(new java.awt.Color(1, 1, 1));
        jXTaskPaneContainer1.setForeground(new java.awt.Color(102, 1, 1));

        jXTaskPane1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/pequenos/Report_3_16x16.png"))); // NOI18N
        jXTaskPane1.setTitle("Operações");

        jXHyperlink1.setForeground(new java.awt.Color(0, 0, 0));
        jXHyperlink1.setText("Importar");
        jXHyperlink1.setClickedColor(new java.awt.Color(0, 0, 0));
        jXHyperlink1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jXHyperlink1ActionPerformed(evt);
            }
        });
        jXTaskPane1.getContentPane().add(jXHyperlink1);

        btReprocessoDuplicados.setForeground(new java.awt.Color(0, 0, 0));
        btReprocessoDuplicados.setText("Reprocessar Duplicados");
        btReprocessoDuplicados.setClickedColor(new java.awt.Color(0, 0, 0));
        btReprocessoDuplicados.setEnabled(false);
        btReprocessoDuplicados.setUnclickedColor(new java.awt.Color(0, 0, 0));
        btReprocessoDuplicados.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btReprocessoDuplicadosActionPerformed(evt);
            }
        });
        jXTaskPane1.getContentPane().add(btReprocessoDuplicados);

        jXTaskPaneContainer1.add(jXTaskPane1);

        lbImportacao.setText("Importação Cat52.");

        jTabbedPane1.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
        jTabbedPane1.setTabPlacement(javax.swing.JTabbedPane.BOTTOM);
        jTabbedPane1.setToolTipText("");

        txtAreaErros.setColumns(20);
        txtAreaErros.setRows(5);
        jScrollPane3.setViewportView(txtAreaErros);

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 750, Short.MAX_VALUE)
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 70, Short.MAX_VALUE)
        );

        jTabbedPane1.addTab("Erros", jPanel2);

        txtAreaDuplicados.setColumns(20);
        txtAreaDuplicados.setLineWrap(true);
        txtAreaDuplicados.setRows(5);
        txtAreaDuplicados.setWrapStyleWord(true);
        txtAreaDuplicados.setAutoscrolls(false);
        jScrollPane4.setViewportView(txtAreaDuplicados);

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 750, Short.MAX_VALUE)
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 70, Short.MAX_VALUE)
        );

        jTabbedPane1.addTab("Duplicações", jPanel3);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addComponent(jXTaskPaneContainer1, javax.swing.GroupLayout.PREFERRED_SIZE, 226, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(lbImportacao)
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addComponent(progressBarAtividade1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(progressBarAtividade2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jTabbedPane1))
                .addContainerGap())
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(191, Short.MAX_VALUE)
                    .addComponent(fileChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(806, Short.MAX_VALUE)))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jXTaskPaneContainer1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 399, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lbImportacao)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(progressBarAtividade1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(progressBarAtividade2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(490, Short.MAX_VALUE)
                    .addComponent(fileChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(95, Short.MAX_VALUE)))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void btSelecionarPastaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btSelecionarPastaActionPerformed
//        try {
//            
//            fileChooser1.setCurrentDirectory(new File("."));
//            fileChooser1.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
//            int result = fileChooser1.showOpenDialog(this);
//
//            if (result == JFileChooser.APPROVE_OPTION) {
//                txtSeletor.setText(fileChooser1.getSelectedFile().getPath());
//            }
//
//        } catch (Exception e) {
//            MessagemErro erro = new MessagemErro(new ErrorInfo("Erro no Sistema", "Não é Possível Continuar, Sistema Inativo", null, "Fatal", e, Level.WARNING, null), 1);
//        }
    }//GEN-LAST:event_btSelecionarPastaActionPerformed

//    private void carregarTabela() {
//        try {
//
//            List<RegistroE01> listaRegistroE01 = daoCat52.selecionarTodasRegistro01();
//
//            tabelaCat52.setModel(new Cat52TableModel(listaRegistroE01));
//
//            tabelaCat52.setAutoCreateColumnsFromModel(false);
//            java.awt.FontMetrics fm = tabelaCat52.getFontMetrics(tabelaCat52.getFont());
//
//            tabelaCat52.setColumnModel(new Cat52ColumnModel(fm));
//            tabelaCat52.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
//
//        } catch (Exception e) {
//            MessagemErro erro = new MessagemErro(new ErrorInfo("Erro no Sistema", "Não é Possível Continuar, Sistema Inativo", null, "Fatal", e, Level.WARNING, null), 1);
//        }
//    }

    private void jXHyperlink1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jXHyperlink1ActionPerformed
//
//        RunnableImportacaoCat52 runnableImportacao = new RunnableImportacaoCat52();
//       
//        try {
//
//            if (btReprocessoDuplicados.isEnabled() == false) {
//
//                btReprocessoDuplicados.setEnabled(false);
//                btReprocessoDuplicados.setText("Reprocessar Duplicados");
//
//                List<String> listaVolta = new ArrayList<String>();
//
//                if (!"".equals(txtSeletor.getText())) {
//
//                    daoCat52.atualizarRegistroCat(txtSeletor.getText());
//
//                    lbImportacao.setText("Importação Cat52: Capturando Arquivos no Diretório Informado.");
//                    progressBarAtividade1.setMaximum(100);
//                    progressBarAtividade1.setString("Importação CAT52");
//                    progressBarAtividade1.setValue(5);
//                    progressBarAtividade2.setValue(100);
//
//                    File diretorio = new File(txtSeletor.getText());
//                    File[] file = diretorio.listFiles();
//
//                    for (int i = 0; i < file.length; i++) {
//                        File arq = file[i];
//
//                        progressBarAtividade2.setMaximum(i);
//                        progressBarAtividade2.setValue(i);
//
//                        if (arq.isDirectory()) {
//                            //NÃO FAZ NADA POR QUE NÃO QUERO DIRETÓRIO.
//                        } else {
//
//                            int l = arq.getPath().length() - 3;
//
//                            String inativo = arq.getPath().substring(l);
//
//                            if (!"_IN".equals(inativo)) {
//                                listaVolta.add(arq.getPath());
//                            }
//                        }
//                    }
//
//                } else {
//                    MessagemErro erro = new MessagemErro(new ErrorInfo("Atenção", "Verifique o Campo do Diretório.", null, "Fatal", null, Level.INFO, null), 1);
//                }
//
//                if (listaVolta.size() > 0) {
//
//                    runnableImportacao.setStringArquivo(listaVolta);
//                    runnableImportacao.setProgressBar(progressBarAtividade1);
//                    runnableImportacao.setLabelResultados(lbImportacao);
//                    runnableImportacao.setProgressBar2(progressBarAtividade2);
//                    runnableImportacao.setBtDuplicado(btReprocessoDuplicados);
//                    runnableImportacao.setListaDuplicado(listaDuplicados);
//                    runnableImportacao.setTxtAreaErros(txtAreaErros);
//                    runnableImportacao.setTxtAreaDuplicados(txtAreaDuplicados);
//
//                    runnableImportacao.start();
//
//                } else {
//
//                    lbImportacao.setText("Importação Cat52: O Diretório Pode Não Ter Arquivos ou os Arquivos já Foram Importados.");
//                    progressBarAtividade1.setValue(100);
//                    progressBarAtividade2.setValue(100);
//                }
//
//            } else {
//
//                lbImportacao.setText("Importação Cat52: Não é Possivel Processar Quando Existem Arquivos Duplicados.");
//                progressBarAtividade1.setValue(100);
//                progressBarAtividade2.setValue(100);
//
//            }
//        } catch (Exception e) {
//            MessagemErro erro = new MessagemErro(new ErrorInfo("Erro no Sistema", "Não é Possível Continuar, Sistema Inativo", null, "Fatal", e, Level.WARNING, null), 1);
//            runnableImportacao.suspend();
//        }
    }//GEN-LAST:event_jXHyperlink1ActionPerformed
    private void btReprocessoDuplicadosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btReprocessoDuplicadosActionPerformed
//        RunnableImportacaoCat52 runnableImportacao = new RunnableImportacaoCat52();
//
//        List<String> listaArquivo = new ArrayList<String>();
//
//        for (String value : listaDuplicados.keySet()) {
//
//            daoCat52.deletarRegistro01(Integer.parseInt(value));
//
//            listaArquivo.add(listaDuplicados.get(value));
//
//        }
//
//        listaDuplicados = new HashMap<String, String>();
//
//        if (listaArquivo.size() > 0) {
//
//            runnableImportacao.setStringArquivo(listaArquivo);
//            runnableImportacao.setProgressBar(progressBarAtividade1);
//            runnableImportacao.setLabelResultados(lbImportacao);
//            runnableImportacao.setProgressBar2(progressBarAtividade2);
//            runnableImportacao.setBtDuplicado(btReprocessoDuplicados);
//            runnableImportacao.setListaDuplicado(listaDuplicados);
//            runnableImportacao.setTxtAreaErros(txtAreaErros);
//            runnableImportacao.setTxtAreaDuplicados(txtAreaDuplicados);
//
//            runnableImportacao.start();
//        } else {
//
//            lbImportacao.setText("Importação Cat52: O Diretório Pode Não Ter Arquivos ou os Arquivos já Foram Importados.");
//            progressBarAtividade1.setValue(100);
//            progressBarAtividade2.setValue(100);
//
//            btReprocessoDuplicados.setEnabled(false);
//            btReprocessoDuplicados.setText("Reprocessar Duplicados");
//        }
//
//        btReprocessoDuplicados.setEnabled(false);
//        btReprocessoDuplicados.setText("Reprocessar Duplicados");

    }//GEN-LAST:event_btReprocessoDuplicadosActionPerformed
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private org.jdesktop.swingx.JXHyperlink btReprocessoDuplicados;
    private org.jdesktop.swingx.JXHyperlink btSelecionarPasta;
    private javax.swing.JFileChooser fileChooser1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JTabbedPane jTabbedPane1;
    private org.jdesktop.swingx.JXFindPanel jXFindPanel1;
    private org.jdesktop.swingx.JXHyperlink jXHyperlink1;
    private org.jdesktop.swingx.JXTaskPane jXTaskPane1;
    private org.jdesktop.swingx.JXTaskPaneContainer jXTaskPaneContainer1;
    private javax.swing.JLabel lbImportacao;
    private javax.swing.JProgressBar progressBarAtividade1;
    private javax.swing.JProgressBar progressBarAtividade2;
    private javax.swing.JTable tabelaCat52;
    private javax.swing.JTextArea txtAreaDuplicados;
    private javax.swing.JTextArea txtAreaErros;
    private javax.swing.JTextField txtSeletor;
    // End of variables declaration//GEN-END:variables
}
